package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 通讯人员开户对象 subscriber_account
 * 
 * @author ruoyi
 * @date 2025-01-07
 */
public class SubscriberAccount extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 开户ID */
    private Long accountId;

    /** 客户姓名 */
    @Excel(name = "客户姓名")
    private String name;

    /** 证件类型 */
    @Excel(name = "证件类型")
    private String idType;

    /** 证件号码 */
    @Excel(name = "证件号码")
    private String idNumber;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phoneNumber;

    /** 卡类型 */
    @Excel(name = "卡类型")
    private String cardType;

    /** 套餐名称 */
    @Excel(name = "套餐名称")
    private String planName;

    /** 套餐价格 */
    @Excel(name = "套餐价格")
    private BigDecimal price;

    /** 账单地址 */
    @Excel(name = "账单地址")
    private String billingAddress;

    /** 电子邮箱 */
    @Excel(name = "电子邮箱")
    private String email;

    /** 开户时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开户时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registrationDate;

    /** 账户状态 */
    @Excel(name = "账户状态")
    private String status;

    /** 账户余额 */
    @Excel(name = "账户余额")
    private BigDecimal balance;

    public void setAccountId(Long accountId) 
    {
        this.accountId = accountId;
    }

    public Long getAccountId() 
    {
        return accountId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setIdType(String idType) 
    {
        this.idType = idType;
    }

    public String getIdType() 
    {
        return idType;
    }
    public void setIdNumber(String idNumber) 
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber() 
    {
        return idNumber;
    }
    public void setPhoneNumber(String phoneNumber) 
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber() 
    {
        return phoneNumber;
    }
    public void setCardType(String cardType) 
    {
        this.cardType = cardType;
    }

    public String getCardType() 
    {
        return cardType;
    }
    public void setPlanName(String planName) 
    {
        this.planName = planName;
    }

    public String getPlanName() 
    {
        return planName;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setBillingAddress(String billingAddress) 
    {
        this.billingAddress = billingAddress;
    }

    public String getBillingAddress() 
    {
        return billingAddress;
    }
    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }
    public void setRegistrationDate(Date registrationDate) 
    {
        this.registrationDate = registrationDate;
    }

    public Date getRegistrationDate() 
    {
        return registrationDate;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setBalance(BigDecimal balance) 
    {
        this.balance = balance;
    }

    public BigDecimal getBalance() 
    {
        return balance;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("accountId", getAccountId())
            .append("name", getName())
            .append("idType", getIdType())
            .append("idNumber", getIdNumber())
            .append("phoneNumber", getPhoneNumber())
            .append("cardType", getCardType())
            .append("planName", getPlanName())
            .append("price", getPrice())
            .append("billingAddress", getBillingAddress())
            .append("email", getEmail())
            .append("registrationDate", getRegistrationDate())
            .append("status", getStatus())
            .append("balance", getBalance())
            .toString();
    }
}
